<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Document</title>
    <script src="../vue.js"></script>
  </head>

  <body>
    <!-- 
      v-model数据双向绑定:
        * 基础使用
          - 数据单向绑定（v-bind）：数据只能从data流向页面
          - 数据双向绑定：数据既能从data流向页面，也能从页面流向data
          - 一般都是对可输入性的表单元素进行双向绑定,用来控制表单展示内容,和收集表单数据
        * v-model本质:`<input type="text" :value="xxx" @input="xxx=$event.target.value" />`
          1. 给表单单向绑定了一个数据
          2. 给表单绑定一个input事件,表单改变以后,获取最新数据设置给data中
        * 收集表单数据
          - 输入文本框:使用字符串收集
          - 多选框多选状态:使用数组收集
          - 多选框单选状态:使用布尔值收集
          - 单选框:使用字符串收集
          - 下拉列表单选:使用字符串收集
          - 下拉列表多选:使用数组收集
          - 多行文本框:使用字符串收集

     -->
    <div id="app">
      <form action="">
        <p>
          请输入用户名
          <input type="text" v-model="username" />
        </p>
        <p>
          请输入密码
          <input type="password" v-model="password" />
        </p>
        <p>
          请选择你喜欢的城市
          <input type="checkbox" value="北京" v-model="city" />北京
          <input type="checkbox" value="上海" v-model="city" />上海
          <input type="checkbox" value="深圳" v-model="city" />深圳
          <input type="checkbox" value="广州" v-model="city" />广州
        </p>
        <p>
          请选择你的性别
          <input type="radio" value="男" v-model="sex" />男
          <input type="radio" value="女" v-model="sex" />女
        </p>
        <p>
          请选择你喜欢吃的食物
          <select name="" id="" v-model="food">
            <option value="螺蛳粉">螺蛳粉</option>
            <option value="豆汁">豆汁</option>
            <option value="卤煮">卤煮</option>
          </select>
        </p>
        <p>
          请选择你喜欢的课程
          <select name="" id="" v-model="study" multiple>
            <option value="html">html</option>
            <option value="css">css</option>
            <option value="js">js</option>
          </select>
        </p>
        <p>
          请介绍你自己
          <textarea v-model="yourself"></textarea>
        </p>
        <p><input type="checkbox" v-model="isAgree" />请勾选同意保密协议</p>
      </form>
    </div>
    <script>
      Vue.config.productionTip = false;

      const vm = new Vue({
        el: "#app",
        data() {
          return {
            username: "",
            password: "",
            city: [],
            sex: "",
            food: "",
            study: [],
            yourself: "",
            isAgree: false,
          };
        },
      });
    </script>
  </body>
</html>
